package com.dcy.znoa.service.sys;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

import com.dcy.znoa.common.util.pojo.JsonCommon;
import com.dcy.znoa.common.util.pojo.JsonForList;
import com.dcy.znoa.controller.sys.model.storeFile.AddCommonModel;
import com.dcy.znoa.controller.sys.model.storeFile.AddStoreFileModel;
import com.dcy.znoa.controller.sys.model.storeFile.SelectStoreFileModel;
import com.dcy.znoa.domain.sys.StoreFile;

public interface StoreFileService {

	JsonForList selectList(SelectStoreFileModel model) throws InvocationTargetException, IllegalAccessException;

	JsonCommon insert(StoreFile storeFile);

	List<StoreFile> selectStoreFileByEntityId(Long entityId, String entityTbl, String[] remoteFileName);

	JsonCommon updateByEntityId(Long entityId, String entityTbl);

	String getUpToken();

	boolean uploadFile(String filePath, String key);

	boolean deleteFile(String key);

	String downloadFile(String key);

	void batchInsert(List<StoreFile> list);

	JsonCommon updateById(StoreFile storeFile);

	void updateByEntityId(Long entityId, String entityTbl, String delFileName);

	Integer addBatch(AddStoreFileModel addStoreFileModel) throws InvocationTargetException, IllegalAccessException;
    
}
